#include<iostream>
#include<Eigen/Dense>

using namespace std;
using namespace Eigen;

int main(int argc,char **argv){

    Array44f a1,a2;
    Matrix4f m1,m2;

    m1 = a1 * a2;
    a1 = m1 * m2;

    a2 = a1 + m1.array();
    m2 = a1.matrix() + m1;

    ArrayWrapper<Matrix4f> mla(m1);
    MatrixWrapper<Array44f> alm(a1);

    cout << "a1: " << endl << a1 << endl << endl;
    cout << "a2: " << endl << a2 << endl << endl;
    cout << "m1: " << endl << m1 << endl << endl;
    cout << "m2: " << endl << m2 << endl << endl;

    return 0;
}
